package Day_007_T206;

import java.util.Stack;

/**
 * @author XIAOLIANG
 * @ClassName Solution.java
 * @Description TODO
 * @createTime 2021年01月21日 20:46:00
 * 206. 反转链表
 * 反转一个单链表。
 *
 * 示例:
 *
 * 输入: 1->2->3->4->5->NULL
 * 输出: 5->4->3->2->1->NULL
 * 进阶:
 * 你可以迭代或递归地反转链表。你能否用两种方法解决这道题？
 *
 * 通过次数414,937提交次数582,176
 * https://leetcode-cn.com/problems/reverse-linked-list/
 */
public class Solution {
	public ListNode reverseList(ListNode head) {

	ListNode prev = null;  //前节点

	ListNode curr = head;  //当前节点

	while (curr!=null){

		ListNode tempNode = curr.next;  //保存下一个节点

		curr.next = prev;  //当前节点指向前一个节点

		prev = curr;  //指针后移

		curr = tempNode; //指针后移

	}

	return prev;

	}



}
